﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace Min.ExtendKit.Common.Core.Win32.API;

/// <summary>
/// 提供对 Network API 的托管声明。
/// </summary>
internal class NetApi
{
    /// <summary>
    /// 使用 <see cref="wininet.dll"/> 中的 <c>InternetGetConnectedState</c> 方法来检查网络连接状态。
    /// </summary>
    /// <param name="connectionDescription">
    /// 返回网络连接的描述信息。该参数表示连接的类型和状态，通常可以忽略该信息。
    /// </param>
    /// <param name="reservedValue">保留参数，通常设置为 0。</param>
    /// <returns>如果当前计算机连接到网络，返回 <c>true</c>；否则返回 <c>false</c>。</returns>
    [DllImport("wininet")]
    internal extern static bool InternetGetConnectedState(out int connectionDescription, int reservedValue);
}
